package com.shycloud.mido.member.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 消息主表
 */
@ApiModel(value = "com-shycloud-mido-member-api-entity-MsgMain")
@Data
@TableName(value = "msg_main")
public class MsgMain {

	/** 主键 */
	@TableId(value = "id", type = IdType.UUID)
	@ApiModelProperty(value = "主键")
	private String id;
	/** 标题 */
	@TableField(value = "title")
	@ApiModelProperty(value = "标题")
	private String title;
	/** 内容 */
	@TableField(value = "message")
	@ApiModelProperty(value = "内容")
	private String message;
	/** 0-文本 1-模板 {{可替换}} */
	@TableField(value = "`template`")
	@ApiModelProperty(value = "0-文本 1-模板 {{可替换}}")
	private String template;
	/**
	 * 模板列 1-【FORM】 2-【TO】 3-【FROM-TO】 4-【FROM-TO-HOMEOWRKID】
	 */
	@TableField(value = "template_column")
	@ApiModelProperty(value = "模板列")
	private String templateColumn;
	/** 0可以修改1不可修改 */
	@TableField(value = "`modify`")
	@ApiModelProperty(value = "0可以修改1不可修改")
	private String modify;
	/** 0文本 1周报 2IM 3其他 */
	@TableField(value = "msg_type")
	@ApiModelProperty(value = "0文本1周报2IM3其他")
	private String msgType;
	/** 发布时间 */
	@TableField(value = "pub_datetime")
	@ApiModelProperty(value = "发布时间")
	private LocalDateTime pubDatetime;
	/** 实际发送时间(提前发送) */
	@TableField(value = "actual_pub_datetime")
	@ApiModelProperty(value = "实际发送时间(提前发送)")
	private LocalDateTime actualPubDatetime;
	/** 范围 0-全体 1-教师 2-学生 */
	@TableField(value = "range_type")
	@ApiModelProperty(value = "范围 0-全体 1-教师 2-学生")
	private String rangeType;
	/** 范围内容 */
	@TableField(value = "range_text")
	@ApiModelProperty(value = "范围内容")
	private String rangeText;
	/** 消息类型 0-系统 1-家校 */
	@TableField(value = "`type`")
	@ApiModelProperty(value = "消息类型 0-系统 1-家校")
	private String type;
	/** 模式 0-人工 1-自动 */
	@TableField(value = "`mode`")
	@ApiModelProperty(value = "模式 0-人工 1-自动")
	private String mode;
	/** 0-系统 1-老师 2-学生 3-机构 */
	@TableField(value = "trigger_from")
	@ApiModelProperty(value = "0-系统 1-老师 2-学生 3-机构 ")
	private String triggerFrom;
	/** 0-所有 1-老师 2-学生 3-机构 4-老师和学生 */
	@TableField(value = "trigger_to")
	@ApiModelProperty(value = "0-所有 1-老师 2-学生 3-机构 4-老师和学生")
	private String triggerTo;
	/** 0-消息 1-周报 2-作业完成 3-教师认证 4-作业下发 5-师生关系 6-作业点评 7-活动奖励领取 */
	@TableField(value = "point")
	@ApiModelProperty(value = "0-消息 1-周报引导 2-作业完成 3-教师认证 4-作业下发 5-师生关系 6-作业点评 7-活动奖励领取 8-周报发送")
	private String point;
	/** 消息内容ID(预留) */
	@TableField(value = "msg_text_id")
	@ApiModelProperty(value = "消息内容ID(预留)")
	private String msgTextId;
	/** 极光推送唯一ID，方便出现问题查找原因 */
	@TableField(value = "push_id")
	@ApiModelProperty(value = "极光推送唯一ID，方便出现问题查找原因")
	private String pushId;
	/** 0成功1失败 */
	@TableField(value = "push_status")
	@ApiModelProperty(value = "0-成功，1-失败")
	private String pushStatus;
	/** 推送时间 */
	@TableField(value = "push_time")
	@ApiModelProperty(value = "推送时间")
	private LocalDateTime pushTime;
	/** 返回码 */
	@TableField(value = "push_resp_code")
	@ApiModelProperty(value = "返回码")
	private String pushRespCode;
	/** 推送返回信息 */
	@TableField(value = "push_resp_msg")
	@ApiModelProperty(value = "推送返回信息")
	private String pushRespMsg;
	/** 备注 */
	@TableField(value = "remark")
	@ApiModelProperty(value = "备注")
	private String remark;
	/** 删除标记 */
	@TableField(value = "del_flag")
	@ApiModelProperty(value = "删除标记")
	private String delFlag;
	/** 创建人 */
	@TableField(value = "create_user")
	@ApiModelProperty(value = "创建人")
	private String createUser;
	/** 创建时间 */
	@TableField(value = "create_time")
	@ApiModelProperty(value = "创建时间")
	private LocalDateTime createTime;
	/** 更新人 */
	@TableField(value = "update_user")
	@ApiModelProperty(value = "更新人")
	private String updateUser;
	/** 更新时间 */
	@TableField(value = "update_time")
	@ApiModelProperty(value = "更新时间")
	private LocalDateTime updateTime;
	/** 机构ID */
	@TableField(value = "org_id")
	@ApiModelProperty(value = "机构ID")
	private Integer orgId;

	public static final String COL_ID = "id";

	public static final String COL_TITLE = "title";

	public static final String COL_MESSAGE = "message";

	public static final String COL_TEMPLATE = "template";

	public static final String COL_TEMPLATE_COLUMN = "template_column";

	public static final String COL_MODIFY = "modify";

	public static final String COL_MSG_TYPE = "msg_type";

	public static final String COL_PUB_DATETIME = "pub_datetime";

	public static final String COL_ACTUAL_PUB_DATETIME = "actual_pub_datetime";

	public static final String COL_RANGE_TYPE = "range_type";

	public static final String COL_RANGE_TEXT = "range_text";

	public static final String COL_TYPE = "type";

	public static final String COL_MODE = "mode";

	public static final String COL_TRIGGER_FROM = "trigger_from";

	public static final String COL_TRIGGER_TO = "trigger_to";

	public static final String COL_POINT = "point";

	public static final String COL_MSG_TEXT_ID = "msg_text_id";

	public static final String COL_PUSH_ID = "push_id";

	public static final String COL_PUSH_STATUS = "push_status";

	public static final String COL_PUSH_TIME = "push_time";

	public static final String COL_PUSH_RESP_CODE = "push_resp_code";

	public static final String COL_PUSH_RESP_MSG = "push_resp_msg";

	public static final String COL_REMARK = "remark";

	public static final String COL_DEL_FLAG = "del_flag";

	public static final String COL_CREATE_USER = "create_user";

	public static final String COL_CREATE_TIME = "create_time";

	public static final String COL_UPDATE_USER = "update_user";

	public static final String COL_UPDATE_TIME = "update_time";

	public static final String COL_ORG_ID = "org_id";
}